﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Dominio;

namespace Interfaces
{
    public interface ITanque
    {
        void CrearTanqueCombustible(string descripcion, int capacidad, Contenido nombreContenido, int calidad);
        void CrearTanqueAgua(string descripcion, int capacidad, string ubicacion, int calidad);
        void CrearTanqueAceite(string descripcion, int capacidad, int viscocidad, int calidad);
        void ModificarDescripcionTanque(Tanque idTanque, string nuevaDescripcion);
        void ModificarLitrosDisponiblesTanque(Tanque idTanque, int nuevaCapacidad);
        void AgregarSurtidorATanque(TanqueCombustible idTanque, Surtidor idSurtidor);
        Tanque BuscarTanquePorId(Tanque idTanque);
        Surtidor BuscarSurtidorPorId(Surtidor idSurtidor);
        Contenido BuscarContenidoPorNombre(String nombreContenido);
        void AgregarMangueraASurtidor(TanqueCombustible idTanque, Surtidor idSurtidor);
        void EliminarTanque(Tanque idTanque);
        void EliminarMangueraDeSurtidor(Surtidor idSurtidor, Manguera idManguera);
        List<Manguera> ObtenerListaIdsManguerasPorIdSurtidor(Surtidor idSurtidor);
        int ObtenerLitrosDisponiblesTanquePorIdSurtidorYManguera(Surtidor idSurtidor, Manguera idManguera);
        List<Tanque> ObtenerDatosTanques();
        void AgregarExpendidoAManguera(Manguera idManguera, int cantidadLitros, DateTime fechaHora, Cliente idCliente, Surtidor idSurtidor);
        bool EsCantidadDeLitrosAExpenderValida(Surtidor idSurtidor, Manguera idManguera, int cantidadLitros);
        bool EsCantidadNuevaSuperiorCapacidad(Tanque idTanque, int litros);
        List<Surtidor> ObtenerIdsSurtidores();
        List<Contenido> ObtenerNombreContenidos();
        void AgregarContenidoATanque(Tanque idTanque, DateTime fechaHora, int cantidadLitros,int idManual);
        Surtidor BuscarSurtidorPorIdTodos(Surtidor idSurtidor);
        int ObtenerTotalLitrosCargados(Surtidor idSurtidor, Manguera idManguera);
    }

}
